// 表单验证
const form = (obj: object) => {
    console.log(obj);
}

// 图片
function getAssetsFile(url: string) {
    return new URL(`../imgs/${url}`, import.meta.url)
}

// 后端反的图片
function url(url: string) {
    return 'http://yinxiang.ruanmengkeji.cn/storage/' + url
}

// 添加删除类名
function toggle(obj: any, className: string) {
    obj.classList.toggle(className)
}

// 动画函数
/**
 * @obj DOM元素对象
 * @target 移动距离
 * @interval 定时器触发间隔
 * @callback 动画结束是触发的函数
 */
function animate(obj: any, target: number, interval: number, callback: Function) {
    // 先清除以前的定时器，只保留当前的定时器
    clearInterval(obj.timer)
    obj.timer = setInterval(() => {
        // 步长值
        var setp = (target - obj.offsetLeft) / 10
        setp = setp > 0 ? Math.ceil(setp) : Math.floor(setp)
        // 停止动画
        if (obj.offsetLeft > target ? obj.offsetLeft <= target : obj.offsetLeft >= target) {
            clearInterval(obj.timer)
            if (callback) callback()
        }
        obj.style.left = obj.offsetLeft + setp + 'px'
    }, interval ? interval : 30)
}

// 返回顶部
function backTop(obj: any, target: number, callback: Function) {
    // 先清除以前的定时器，只保留当前的定时器
    clearInterval(obj.timer)
    obj.timer = setInterval(() => {
        // 步长值
        var setp = (target - window.pageYOffset) / 10
        setp = setp > 0 ? Math.ceil(setp) : Math.floor(setp)
        // 停止动画
        if (window.pageYOffset == target) {
            clearInterval(obj.timer)
            if (callback) callback()
        }
        window.scroll(0, window.pageYOffset + setp)
    }, 15)
}





export default {
    form,
    getAssetsFile,
    url,
    animate,
    backTop,
    toggle
}